home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slasy2.z / slasy2
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAASSSSYYYY2222((((3333FFFF))))                                                          SSSSLLLLAAAASSSSYYYY2222((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLASY2 - solve for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in   op(TL)*X
  10.      + ISGN*X*op(TR) = SCALE*B,
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE SLASY2( LTRANL, LTRANR, ISGN, N1, N2, TL, LDTL, TR, LDTR, B,
  14.                         LDB, SCALE, X, LDX, XNORM, INFO )
  15.  
  16.          LOGICAL        LTRANL, LTRANR
  17.  
  18.          INTEGER        INFO, ISGN, LDB, LDTL, LDTR, LDX, N1, N2
  19.  
  20.          REAL           SCALE, XNORM
  21.  
  22.          REAL           B( LDB, * ), TL( LDTL, * ), TR( LDTR, * ), X( LDX, * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      SLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in
  26.  
  27.      where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or -1.
  28.      op(T) = T or T', where T' denotes the transpose of T.
  29.  
  30.  
  31. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  32.      LTRANL  (input) LOGICAL
  33.              On entry, LTRANL specifies the op(TL):  = .FALSE., op(TL) = TL, =
  34.              .TRUE., op(TL) = TL'.
  35.  
  36.      LTRANR  (input) LOGICAL
  37.              On entry, LTRANR specifies the op(TR):  = .FALSE., op(TR) = TR, =
  38.              .TRUE., op(TR) = TR'.
  39.  
  40.      ISGN    (input) INTEGER
  41.              On entry, ISGN specifies the sign of the equation as described
  42.              before. ISGN may only be 1 or -1.
  43.  
  44.      N1      (input) INTEGER
  45.              On entry, N1 specifies the order of matrix TL.  N1 may only be 0,
  46.              1 or 2.
  47.  
  48.      N2      (input) INTEGER
  49.              On entry, N2 specifies the order of matrix TR.  N2 may only be 0,
  50.              1 or 2.
  51.  
  52.      TL      (input) REAL array, dimension (LDTL,2)
  53.              On entry, TL contains an N1 by N1 matrix.
  54.  
  55.      LDTL    (input) INTEGER
  56.              The leading dimension of the matrix TL. LDTL >= max(1,N1).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAASSSSYYYY2222((((3333FFFF))))                                                          SSSSLLLLAAAASSSSYYYY2222((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      TR      (input) REAL array, dimension (LDTR,2)
  75.              On entry, TR contains an N2 by N2 matrix.
  76.  
  77.      LDTR    (input) INTEGER
  78.              The leading dimension of the matrix TR. LDTR >= max(1,N2).
  79.  
  80.      B       (input) REAL array, dimension (LDB,2)
  81.              On entry, the N1 by N2 matrix B contains the right-hand side of
  82.              the equation.
  83.  
  84.      LDB     (input) INTEGER
  85.              The leading dimension of the matrix B. LDB >= max(1,N1).
  86.  
  87.      SCALE   (output) REAL
  88.              On exit, SCALE contains the scale factor. SCALE is chosen less
  89.              than or equal to 1 to prevent the solution overflowing.
  90.  
  91.      X       (output) REAL array, dimension (LDX,2)
  92.              On exit, X contains the N1 by N2 solution.
  93.  
  94.      LDX     (input) INTEGER
  95.              The leading dimension of the matrix X. LDX >= max(1,N1).
  96.  
  97.      XNORM   (output) REAL
  98.              On exit, XNORM is the infinity-norm of the solution.
  99.  
  100.      INFO    (output) INTEGER
  101.              On exit, INFO is set to 0: successful exit.
  102.              1: TL and TR have too close eigenvalues, so TL or TR is perturbed
  103.              to get a nonsingular equation.  NOTE: In the interests of speed,
  104.              this routine does not check the inputs for errors.
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.